The real world is made up of objects that are either transparent (e.g., clear glass), semi-opaque (e.g., tinted glass) or opaque (e.g., not-see through, such as granite). The representation of such real world objects in digital images requires that these transparency characteristics be accurately reflected. A number of digital media design tools (e.g., Adobe Photoshop® CS, Adobe Illustrator® CS, and Adobe InDesigne CS) provide the ability to create digital objects (e.g., images) that are transparent, semi-opaque or opaque. Such design tools typically allow a designer to specify the opacity of an object, from totally opaque to totally transparent, and also to change the appearance of objects by applying transparency effects (e.g., blending, soft drop shadows, feather edges, etc).
Separately, so as to enable both digital and physical printing of documents from multiple applications, a number of page description languages have been developed to enable the creation of both digital and physical print documents from a print stream. Such page description languages include, for example, the PostScript® (PS) language and the Portable Document Format (PDF) file format, both developed by Adobe Systems Inc. for representing documents in a manner that is independent of an original application software, hardware or operating system. While dot matrix, ink jet and laser printers widely deploy PostScript® to enable the printing of physical documents, PostScript® may of course also be utilized to “print” digital documents. Further, there are a number of applications available that utilize PostScript® as a display technology (e.g., Display PostScript® (DPS) and MeWS).
PDF creation tools are also widely available (e.g., PDFMaker developed by Adobe Systems Inc. of San Jose, Calif.) and provide services to a wide range of applications so as to enable these applications to print digital documents in the PDF format. For example, PDFMaker is a generic name for several add-ins that are added to PowerPoint, Word, Excel and another programs upon installation of the Adobe Acrobat® suite of programs.
Applications that enable the creation (e.g., printing) of digital documents, as noted above, typically utilize a print stream emitted from a print driver as input for the creation of the digital print document. Moreover, the print streams delivered by such source applications have different ways of dealing with transparency in images that may be included within a source document. For example, a PDF file may be created from a PostScript® (PS) stream generated by the print driver. However, mechanisms for a generating a print stream may lack support for transparency, and accordingly the inclusion of transparency information in such a print stream presents a number of challenges.
One prior art manner of dealing with this challenge is for the source application to create a transparency effect by detecting an image having associated transparency information, breaking the relevant image into multiple tiny micro-images arranged in a “sieve” formation, and then creating spaces between surrounding images. For example, FIG. 1 shows an example image 1, having associated image data 2 that includes transparency data 4 (e.g., alpha channel information) which defines the transparency (or opacity) of the image 1. When generating a print stream 6 for the relevant image 1, a print driver may emit the print stream 6 to include thousands of micro-images 7 (e.g., typically of 1-3 pixels in width and height) in a grid or sieve formation 8 with spaces 9 between adjacent micro-images 7. Accordingly, there are small gaps between the micro-images, the gaps being dimensioned of the same order as the image dimension. This sieve formation 8 of small images enables objects, below the image 1 in a z-order, to be partially visible, thus providing a near-transparency effect. Document formats that are generated from the print stream 6 (e.g., PDF files) then also use this sieve formation of micro-images for transparency representation.
It will however be appreciated that representing transparency in the manner depicted in FIG. 1 may result in the creation of thousands of micro-images. This in turn creates a large overhead in file size, as image compression techniques may be rendered ineffective on such tiny micro-images. Further, the time required by a printing application for final document generation is increased as a large print stream 6 needs to be generated and processed. Finally, using the above described sieve-formation, print applications may fail to create various levels of transparency, and effects such as transparency gradient. Accordingly, the resulting digital file may suffer from poor transparency quality.